unit MainFrm;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, 
  Controls, Forms, Dialogs,Menus;

type
  TMainForm = class(TForm)
    mMenu: TMainMenu;
    miBrushs: TMenuItem;
    miPattern: TMenuItem;
    miBmpPattern: TMenuItem;

    procedure miPatternClick(Sender: TObject);
    procedure miBmpPatternClick(Sender: TObject);

    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure FormPaint(Sender: TObject);

  private
    patternKind:Integer;     
    FBitmap         :TBitmap;      
    { Private declarations }

  public
    { Public declarations }
    procedure DrawPattern;
    procedure DrawBitmapPattern;
  end;

var
  MainForm: TMainForm;

implementation

{$R *.DFM}

{ TForm1 }

procedure TMainForm.DrawPattern;
begin
with Canvas do
begin
TextOut(120, 101, 'bsSolid');
TextOut(10, 101, 'bsClear');
TextOut(240, 101, 'bsCross');
TextOut(10, 221, 'bsBDiagonal');
TextOut(120, 221, 'bsFDiagonal');
TextOut(240, 221, 'bsDiagCross');
TextOut(10, 341, 'bsHorizontal');
TextOut(120, 341, 'bsVertical');

Brush.Style := bsClear;
Rectangle(10, 10, 100, 100);

Brush.Color := clBlack;
Brush.Style := bsSolid;
Rectangle(120, 10, 220, 100);

Brush.Style := bsSolid;
Brush.Color := clRed;
Rectangle(230, 0, 330, 90);

Brush.Style := bsCross;
Brush.Color := clBlack;
Rectangle(240, 10, 340, 100);

Brush.Style := bsBDiagonal;
Rectangle(10, 120, 100, 220);

Brush.Style := bsFDiagonal;
Rectangle(120, 120, 220, 220);

Brush.Style := bsDiagCross;
Rectangle(240, 120, 340, 220);
Brush.Style := bsHorizontal;
Rectangle(10, 240, 100, 340);

Brush.Style := bsVertical;
Rectangle(120, 240, 220, 340);
end;
end;


procedure TMainForm.FormPaint(Sender: TObject);
begin
 case patternKind of
   1: DrawPattern;
   2: DrawBitmapPattern;
 end;
end;

{X ly muc chon Patterns tren trnh n}
procedure TMainForm.miPatternClick(Sender: TObject);
begin
  patternKind:=1;
  Repaint;               
end;

procedure TMainForm.miBmpPatternClick(Sender: 
                                                                                       TObject);
begin
  patternKind:=2;

  FBitmap.LoadFromFile('pattern.bmp');  
  Canvas.Brush.Bitmap:=FBitmap;                 
  Repaint;  
end;

{Phng thc nay dung e to ay ca so Form bang anh bitmap}
procedure TMainForm.DrawBitmapPattern;
begin
  Canvas.Rectangle(0, 0, ClientWidth, ClientHeight);
end;

procedure TMainForm.FormCreate(Sender: TObject);
begin
  FBitmap:=TBitmap.Create;  
end;

procedure TMainForm.FormDestroy(Sender: TObject);
begin
 FBitmap.Free;   
end;

end.
